|
|
Collision detection of a free object (ie freely shaped) with another free
object is an extremely difficult problem. Using trace() won't help you
much; it only helps if you want to place a *point* on the surface of an
object, not if you want to place an *object* (specially if the shapd of the
object in question is complicated).
And collision detection alone is not enough. Even if you had a perfect
collision detection mechanism, that won't give you what you want. The objects
will simply collide with the other objects, and then stay in that position,
whichever it is. Which is of course unnatural.
Besides collision detection you would also need a physics modelling
mechanism to calculate how the object would fall, collide, change orientation
etc until it ends up in a state of balance.
An extremely complicated task.
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
|